<?php
$config = array(
    'host' => '172.17.0.4',
    'vhost'=> 'my_vhost',  //设置虚拟机，相当于mysql的库
    'port' => 5672,
    'login'=> 'admin',
    'password' => 'admin'
);

try {
    //创建AMQP对象
    $cnn = new AMQPConnection($config);
    //连接MQbroker
    if (!$cnn->connect()) {
        echo 'Cannot connect to the broker';
        exit();
    }

    //在连接内创建一个通道
    $ch = new AMQPChannel($cnn);

    //创建一个交换机
    $ex = new AMQPExchange($ch);

    //设置交换机名称
    $ex->setName($exchangeName);

    /**
     * 设置交换机类型
     * AMQP_EX_TYPE_DIRECT:直连交换机
     * AMQP_EX_TYPE_FANOUT:扇形交换机
     * AMQP_EX_TYPE_HEADERS:头交换机
     * AMQP_EX_TYPE_TOPIC:主题交换机
     */
    $ex->setType(AMQP_EX_TYPE_DIRECT);
    //$ex->setType(AMQP_EX_TYPE_TOPIC);

    //设置交换机持久化
    $ex->setFlags(AMQP_DURABLE);

    //声明交换机
    $ex->declareExchange();

} catch (AMQPConnectionException $e) {
    echo '创建连接异常：'.$e->getMessage();
    exit();
} catch (AMQPExchangeException $e) {
    echo '创建交换机异常：'.$e->getMessage();
    exit();
} catch (AMQPChannelException $e) {
    echo '创建通道异常：'.$e->getMessage();
    exit();
}


